Echo in a communication system is commonly characterized as the return of a part of a transmitted signal from an end user back to the originator of the transmitted signal after a delay period. As is known in the art, a near end user transmits an uplink signal to a far end user. Conversely, the near end user receives a downlink signal from the far end user. For example, echo at the near end occurs when the near end user originates an uplink signal on an uplink path, and a part of the transmitted signal is reflected at the far end as an echo signal on a downlink path back to the near end. Echo at the far end occurs when the far end user originates a downlink signal on the downlink path, and a part of the transmitted signal is reflected at the near end as an echo signal on the uplink path back to the far end. The reflection of the transmitted signal may occur due to a number of reasons, such as an impedance mismatch in a four/two wire hybrid at the far end or feedback due to acoustic coupling in a telephone, wireless device or hands-free speaker phone. An echo signal corresponding to the delayed transmitted signal is perceived as annoying to the near end user and, in some cases, can result in an unstable condition known as “howling.”
Echo cancelers are required at any echo generating source at both the near end and at the far end in an attempt to eliminate or reduce the transmission of echo signals. Echo cancelers may be employed in wireless devices, such as personal data assistants (PDAs), cellular phones, two-way radios, car-kits for cellular telephones, car phones and other suitable devices that can move throughout a geographic area. Additionally, echo cancelers may be employed in wireline devices, such as hands-free speaker phones, video and audio conference phones and telephones otherwise commonly referred to in the telecommunications industry as plain old telephone system (POTS) devices. Hands-free speaker phones typically include a microphone to produce the uplink signal, a speaker to acoustically produce the downlink signal, an echo canceler to cancel the echo signal and a telephone circuit.
Echo cancelers attempt to cancel the echo signals produced at the near end when the far end is transmitting by generating echo estimation data corresponding to a portion of an amplified downlink audio signal traveling through the acoustic coupling channel between the speaker and the microphone. The echo canceler models the acoustic coupling channel and in response generates the echo estimation data through the use of an echo canceler adaptive filter. The echo canceler adaptive filter employs modeling techniques using for example a Least Mean Squared (LMS) finite impulse response (FIR) filter having a set of weighting coefficients to model the acoustic coupling channel or other similar modeling techniques known in the art. The echo canceler adaptive filter attempts to subtract the echo estimation data from pre-echo canceler uplink data received by the microphone in order to produce post-echo canceler uplink data. The post-echo canceler uplink data is used by the echo canceler adaptive filter to dynamically update the weighting coefficients of the finite impulse response filter.
The hands-free speaker phone may be integrated into an in-vehicle audio system. The vehicle may be any suitable vehicle, such as an automobile, boat or airplane. The in-vehicle audio system may include an amplifier, speakers and an audio source, such as a tuner circuit, a CD/DVD player, a tape player, a hard drive playback system, a satellite radio, etc. The in-vehicle audio system may be integrated with a communication apparatus, such as a telematics communication module. For example, the telematics communication module may be a component of a General Motors' OnStar system. The telematics communication module typically collects and disseminates data, such as location information and audio, such as speech.
Typically, the downlink audio signal received from the far end through the downlink path is played through at least one speaker in the in-vehicle audio system. However, the hands-free speaker phone installed in the vehicle may experience significant coupling between the at least one speaker and the microphone. As a result, an amplified downlink audio signal transmitted through the at least one speaker will be partially received by the microphone as an echo signal.
Echo cancelers operate in response to detecting four possible modes: downlink talking, uplink talking, double talk and idle. During the downlink talking mode, the echo canceler adaptive filter attempts to model the acoustic coupling channel by dynamically adapting the weighting coefficients of the FIR filter. Additionally, pre-processors and post-processors, such as attenuators, may also be used to reduce the effects of the echo signal.
During the idle mode, the near end user and the far end users are not talking and, therefore, the echo canceler adaptive filter is typically idle, since no downlink signal is present. However, during the double talk mode, the pre-echo canceler uplink microphone signal includes both interfering signals and the echo signal. The interfering signals include near end speech, various noise components, and distortion. The various noise components include nonlinearities of the audio system, speaker distortion, air turbulence over the microphone, road noise, wind rumble, turn signal and windshield wiper noises. As a result, the echo canceler adaptive filter will attempt to remove the echo components based on previous weighting coefficient modeling and attempt to pass the desired transmit signal. If the FIR weighting coefficients are updated during the double talk mode, the weighting coefficients may diverge, resulting in an incorrect estimation of the acoustic coupling channel, which causes the echo canceler adaptive filter to become less effective. The adaptive filter under this condition may effectively remove all the echo components and become unstable. As a result, the corrupted post-echo canceler uplink data may cause audio residual echo or even annoying loud noises at the far end.
According to one method, the echo canceler employs a double talk detector to detect the double talk mode. In response to detecting the double talk mode, the echo canceler will freeze the coefficient updates but still allow the filter to operate in an attempt to remove echo based on previous modeling efforts. However, these double talk detectors produce a binary output, based on a singular metric such as a pre-echo canceler uplink microphone energy level threshold or some form of a correlation threshold. As a result, these double talk detectors are not consistently accurate over the range of conditions encountered in noisy environments, such as an automobile environment. Further, these double talk detectors perform poorly in noisy environments because noise may cause the double talk detector to falsely indicate the presence of near end speech. As a result, residual echo may be heard at the far-end or the uplink data may be improperly attenuated.